L’offshore dans le développement informatique désigne la délocalisation de certains des services que réalise l’entreprise. La délocalisation est une opération qui consiste pour une entreprise à faire réaliser certaines tâches (fabrication de biens ou prestations de services) dans les localisations géographiques où le coût de la main d'œuvre est plus faible que celui auquel elle a accès de par l’implantation de ses opérations.
La  mise au point d'un programme informatique se fait en plusieurs étapes. 
      
    Figure 1: source http://www.commentcamarche.net/algo/algointro.php3
    Il s’agit de trouver la solution au problème, la première  étape est destinée à l’analyse du problème, à élaborer une solution sommaire  sous la forme dans un langage descriptif. L'étape suivante consiste à traduire  l'algorithme dans un langage de  programmation spécifique, il s'agit de la phase de programmation. 
    Plus  banalement, on appelle algorithme  toute suite d'opération, décrites par un programme ou tout bonnement  griffonnées sur une feuille de papier, dont le but est de résoudre un problème.  On peut dire qu'il s'agit de la description logique d'un programme.
    On rattache à l'algorithme tous schémas qui portent le nom  d'organigramme ou d'ordinogramme. En voici un  exemple : 
  
    Figure 2 : source http://www.commentcamarche.net/pascal/pascbase2.php3
    Le but de l’algorithme est de bien mettre à plat toutes les  étapes nécessaires à la résolution d'un problème. Il n'a en lui-même pas  forcément de concrétisation matérielle : on parle d'algorithme, mais on ne  l'écrit pas forcément ! Tout ça pour dire qu'un programme bien écrit et bien  commenté se suffit à lui-même pour être compréhensible.
L'algorithme est un moyen pour le programmeur de présenter son approche du problème à d'autres personnes. En effet, un algorithme est l'énoncé dans un langage bien défini d'une suite d'opérations permettant de répondre au problème. Un algorithme peut ce présenter sous forme de langage écrit, de pseudo code, ou encore d’algorigramme. Un algorithme doit donc être :
Le pseudo code est une façon de décrire  un algorithme sans référence à un langage de programmation en particulier. Le  but étant de décrire simplement ce que doit faire le programme sous des faut  aires de programmes informatique on peut voir ça comme  une transition entre l’énoncé écrit de ce que  doit faire le programme et le programme écrit en lui-même.
    L'écriture en  pseudo code permet souvent de bien prendre toute la mesure de la difficulté de  l'implémentation de l'algorithme, et de développer une démarche structurée dans  la construction de celui-ci. En effet, son aspect descriptif permet de décrire  avec plus ou moins de détail l'algorithme, permettant de ce fait de commencer  par une vision très large et de passer outre temporairement certains aspects  complexes, ce que n'offre pas la programmation directe.
L’algorigramme est la représentation schématisée de ce que doit faire un programme informatique. Le schéma si dessous indique les normes de représentation graphique d’un algorigramme.

    Figure 3 : source http://profge.free.fr/Cours/source/Micro/algo_en_ligne/algorigramme.html